package aerolinea

import dominio.Usuario
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import servicios.AbstractHibernateTest
import servicios.UsuarioManager

class UsuarioTest extends AbstractHibernateTest {
	
	var Usuario usuario1
	var Usuario usuario2
	var Usuario usuario3
	
	@Before
	override void setUp() throws Exception{
		usuario1= new Usuario("unNombre", "unApellido", "userName", "unaPassword", "unEmail", null)
		usuario2= new Usuario("otroNombre", "otroApellido", "otroUserName", "otraPassword", "otroEmail", null)
		usuario3= new Usuario("otroNombreMas", "otroApellidoMas", "otroUserNameMas", "otraPasswordMas", "otroEmailMas", null)
	}
	
	@Test
	def void testRegistrarUsuario() throws Exception {
		new UsuarioManager().registrarUsuario(usuario1)
	}
	
	@Test
	def void testIngresarUsuario() throws Exception {
		new UsuarioManager().registrarUsuario(usuario2)
		var usuarioRes= new UsuarioManager().ingresarUsuario("otroUserName", "otraPassword")
		Assert.assertTrue(usuarioRes.nombre == "otroNombre")
		Assert.assertTrue(usuarioRes.apellido == "otroApellido")
	}
	
	@Test
	def void testCambiarPassword() throws Exception {
		new UsuarioManager().registrarUsuario(usuario3)
		var usuarioRes= new UsuarioManager().cambiarPassword("otroUserNameMas", "otraPasswordMas", "nuevaPassword")
		Assert.assertTrue(usuarioRes.password == "nuevaPassword")
	}
}